package com.chentf.data.datastructure.node;

/**
 * @author chentengfei
 * @desc 循环链表
 * @date 2022-02-02 17:46:30
 */
public class LoopNode {
    //节点内容
    private int data;
    //下一个节点
    private LoopNode next = this;

    public LoopNode(int data){
        this.data = data;
    }

    //插入一个节点作为当前节点的下一个节点
    public void after(LoopNode node){
        //取出下一个节点,作为下下一个节点
        LoopNode nextNext = next;
        //把新节点作为当前节点的下一个节点
        this.next = next;
        //把下下一个节点设置为新节点的下一个节点
        node.next = nextNext;
    }

    //删除一个节点
    public void removeNext(){
        //取出下下一个节点
        LoopNode nextNext = next.next;
        //把下下一个节点设置为当前节点的下一个节点
        this.next = nextNext;
    }

    //获取下一个节点
    public LoopNode next(){
        return this.next;
    }

    //获取节点中的数据
    public int getData(){
        return this.data;
    }
}
